package com.boarsoft.boar.service;

import java.util.List;

import com.boarsoft.boar.entity.AppInst;

public interface AppInstService {
	/**
	 * 返回相对就于应用的实例序号
	 * 
	 * @param ip
	 * @param port
	 * @return
	 */
	Integer getInstNo(String ip, int port);

	/**
	 * 删除某个应用实例监息，并将实例从其所在服务器上删除（卸载）<br/>
	 * 前提是应用处于停机状态
	 * 
	 * @param addr
	 */
	void delete(String addr);

	/**
	 * @param projId
	 * @param env
	 * @param status
	 *            传null表示不限状态
	 * @param appId
	 * @param env
	 * @param group
	 *            实例分组（灰度组）
	 * @param status
	 * @return
	 */
	List<AppInst> list(String appId, String env, String group, Short status);

	/**
	 * 
	 * @param appInstId
	 * @param status
	 * @return
	 */
	boolean status(String appInstId, short status);
}